function show_edit() {
	var win_edit;
	var formStore = new Ext.data.Store( [ 'p_id', 'Code', 'Name', 'Desc',
			'parentID', 'Win' ]);
	var deep = Ext.ComponentMgr.get("get_tree_deep").getValue();
	if (deep == "" || deep == "0") {
		re = Ext.ComponentMgr.get("grid_process_domain").getSelectionModel()
				.getSelected();
		if (re == null) {
			Ext.Msg.alert('提示', '请选择需要编辑的项！');
		} else {
			var p_manage = new Ext.FormPanel( {
				labelWidth : 100,
				labelAlign : "left",
				layout : "form",
				region : "center",
				frame : true,
				items : [ {
					title : '编辑流程域',
					layout : 'form',
					xtype : 'fieldset',
					bodyStyle : 'padding: 10px 0 10px 0',
					collapsible : false,
					labelAlign : 'right',
					height : '100%',
					width : '100%',
					items : [ {
						xtype : "hidden",
						fieldLabel : "流 程 域 编 号 ",
						allowBlank : false,
						id : 'domainID',
						anchor : "88%"
					}, {
						xtype : "textfield",
						fieldLabel : "流 程 域编 码 ",
						allowBlank : false,
						id : 'domainCode',
						anchor : "88%",
						emptyText : '字母或下划线开头',
						regex : /^[A-Za-z_]+[A-Za-z0-9_]*$/
					}, {
						xtype : "textfield",
						fieldLabel : "流 程域 名 称 ",
						emptyText : '请填写',
						blankText : '此项必填',
						allowBlank : false,
						anchor : "88%",
						id : 'domainName'
					}, {
						xtype : "textfield",
						fieldLabel : "流 程域 描 述 ",
						anchor : "88%",
						id : 'domainDesc'
					} ]
				} ]
			})

			win_edit = new Ext.Window( {
				layout : 'fit',
				width : 400,
				height : 250,
				closeAction : 'close',
				plain : true,
				modal : true,
				layout : "border",
				tbar : [ '-', {
					text : "保存",
					handler : function() {
						uoForm_process_domain();
					}
				}, '-', {
					text : "关闭",
					handler : function() {
						win_edit.close();
					}
				}, {
					xtype : 'hidden',
					id : 'getwin'
				}, '-' ],
				items : [ p_manage ]
			})
			win_edit.show(this);

			// //把选中的数据加载到窗体相对应的表单中
			Ext.ComponentMgr.get("domainID").setValue(re.data.pID);
			Ext.ComponentMgr.get("domainCode").setValue(re.data.pcode);
			Ext.ComponentMgr.get("domainName").setValue(re.data.pname);
			Ext.ComponentMgr.get("domainDesc").setValue(re.data.pdesc);
		}
	}
	if (deep == "1") {
		re = Ext.ComponentMgr.get("grid_process_domain").getSelectionModel()
				.getSelected();
		if (re == null) {
			Ext.Msg.alert('提示', '请选择需要编辑的项！');
		} else {
			var jReader1 = new Ext.data.JsonReader( {
				fields : [ {
					name : 'id'
				}, {
					name : 'text'
				} ]
			});
			var store = new Ext.data.Store(
					{
						autoLoad : true,
						url : basePath + 'JarpListener?className=cn.com.jsepc.rep.process.GetCombox&methodName=getDomain&paramCount=0',
						reader : jReader1

					});

			var comb_domainID = new Ext.form.ComboBox( {
				id : 'domainID',
				fieldLabel : "所 属 流 程 域  ",
				anchor : "88%",
				emptyText : '请选择(必选项)',
				blankText : '此项必选',
				editable : false,
				triggerAction : 'all',
				store : store,
				mode : 'remote',
				valueField : 'id',
				displayField : 'text'
			})

			var p_manage = new Ext.FormPanel( {
				labelWidth : 100,
				labelAlign : "left",
				layout : "form",
				region : "center",
				frame : true,
				items : [ {
					title : '新增流程',
					layout : 'form',
					xtype : 'fieldset',
					collapsible : false,
					bodyStyle : 'padding: 10px 0 10px 0',
					labelAlign : 'right',
					height : '100%',
					width : '100%',
					items : [ {
						xtype : "hidden",
						fieldLabel : "流 程 编 号 ",
						emptyText : '自动生成',
						disabled : true,
						id : 'processID',
						anchor : "88%"
					}, {
						xtype : "textfield",
						fieldLabel : "流 程 编 码 ",
						allowBlank : false,
						id : 'processCode',
						anchor : "88%",
						emptyText : '字母或下划线开头',
						regex : /^[A-Za-z_]+[A-Za-z0-9_]*$/
					}, {
						xtype : "textfield",
						fieldLabel : "流 程 名 称 ",
						emptyText : '请填写',
						blankText : '此项必填',
						allowBlank : false,
						anchor : "88%",
						id : 'processName'
					}, {
						xtype : "textfield",
						fieldLabel : "流 程 描 述 ",
						anchor : "88%",
						id : 'processDesc'
					}, {
						xtype : "hidden",
						fieldLabel : "所 属 流 程 域 ",
						anchor : "88%",
						id : 'domainID_hidden'
					}, [ comb_domainID ] ]
				} ]
			})

			win_edit = new Ext.Window( {
				layout : 'fit',
				width : 400,
				height : 250,
				closeAction : 'close',
				plain : true,
				modal : true,
				layout : "border",
				tbar : [ '-', {
					text : "保存",
					handler : function() {
						upForm_process();
					}
				}, '-', {
					text : "关闭",
					handler : function() {
						win_edit.close();
					}
				}, {
					xtype : 'hidden',
					id : 'getwin'
				}, {
					xtype : 'hidden',
					id : 'first'
				}, '-' ],
				items : [ p_manage ]
			})
			win_edit.show(this);

			// //把选中的数据加载到窗体相对应的表单中
			Ext.ComponentMgr.get("processID").setValue(re.data.pID);
			Ext.ComponentMgr.get("processCode").setValue(re.data.pcode);
			Ext.ComponentMgr.get("processName").setValue(re.data.pname);
			Ext.ComponentMgr.get("processDesc").setValue(re.data.pdesc);
			Ext.ComponentMgr.get("domainID").setValue(re.data.pname_link);
			Ext.ComponentMgr.get("domainID_hidden").setValue(re.data.plink);
			Ext.ComponentMgr.get("first").setValue(re.data.plink);
		}
	} else if (deep == "2") {
		re = Ext.ComponentMgr.get("grid_process_domain").getSelectionModel()
				.getSelected();
		if (re == null) {
			Ext.Msg.alert('提示', '请选择需要编辑的项！');
		} else {
			var jReader1 = new Ext.data.JsonReader( {
				fields : [ {
					name : 'id'
				}, {
					name : 'text'
				} ]
			});
			var store = new Ext.data.Store(
					{
						autoLoad : true,
						url : basePath + 'JarpListener?className=cn.com.jsepc.rep.process.GetCombox&methodName=getProcess&paramCount=0',
						reader : jReader1

					});

			var comb_process = new Ext.form.ComboBox( {
				id : 'processID',
				fieldLabel : "所 属 流 程 ",
				anchor : "88%",
				emptyText : '请选择(必选项)',
				blankText : '此项必选',
				editable : false,
				triggerAction : 'all',
				store : store,
				mode : 'remote',
				valueField : 'id',
				displayField : 'text'
			})
			var p_manage = new Ext.FormPanel( {
				labelWidth : 100,
				labelAlign : "left",
				layout : "form",
				region : "center",
				frame : true,
				items : [ {
					title : '编辑流程',
					layout : 'form',
					xtype : 'fieldset',
					bodyStyle : 'padding: 10px 0 10px 0',
					collapsible : false,
					labelAlign : 'right',
					height : '100%',
					width : '100%',
					items : [ {
						xtype : "hidden",
						fieldLabel : "流程周期编号 ",
						emptyText : '自动生成',
						disabled : true,
						id : 'lifecycleID',
						anchor : "88%"
					}, {
						xtype : "textfield",
						fieldLabel : "流程周期编码 ",
						allowBlank : false,
						id : 'lifecycleCode',
						anchor : "88%",
						emptyText : '字母或下划线开头',
						regex : /^[A-Za-z_]+[A-Za-z0-9_]*$/
					}, {
						xtype : "textfield",
						fieldLabel : "流程周期名称 ",
						emptyText : '请填写',
						blankText : '此项必填',
						allowBlank : false,
						anchor : "88%",
						id : 'lifecycleName'
					}, {
						xtype : "textfield",
						fieldLabel : "流程周期描述 ",
						anchor : "88%",
						id : 'lifecycleDesc'
					}, {
						xtype : "hidden",
						fieldLabel : "所 属 流 程  ",
						anchor : "88%",
						id : 'processID_hidden'
					}, [ comb_process ] ]
				} ]
			})

			win_edit = new Ext.Window( {
				layout : 'fit',
				width : 400,
				height : 250,
				closeAction : 'close',
				plain : true,
				modal : true,
				layout : "border",
				tbar : [ '-', {
					text : "保存",
					handler : function() {
						upForm_process_lifecycle();
					}
				}, '-', {
					text : "关闭",
					handler : function() {
						win_edit.close();
					}
				}, {
					xtype : 'hidden',
					id : 'getwin'
				}, {
					xtype : 'hidden',
					id : 'first'
				}, '-' ],
				items : [ p_manage ]
			})
			win_edit.show(this);

			// //把选中的数据加载到窗体相对应的表单中
			Ext.ComponentMgr.get("lifecycleID").setValue(re.data.pID);
			Ext.ComponentMgr.get("lifecycleCode").setValue(re.data.pcode);
			Ext.ComponentMgr.get("lifecycleName").setValue(re.data.pname);
			Ext.ComponentMgr.get("lifecycleDesc").setValue(re.data.pdesc);
			Ext.ComponentMgr.get("processID_hidden").setValue(re.data.plink);
			Ext.ComponentMgr.get("processID").setValue(re.data.pname_link);
			Ext.ComponentMgr.get("first").setValue(re.data.plink);
		}
	} else if (deep == "3") {
		re = Ext.ComponentMgr.get("grid_process_domain").getSelectionModel()
				.getSelected();
		if (re == null) {
			Ext.Msg.alert('提示', '请选择需要编辑的项！');
		} else {
			var jReader1 = new Ext.data.JsonReader( {
				fields : [ {
					name : 'id'
				}, {
					name : 'text'
				} ]
			});
			var store = new Ext.data.Store(
					{
						autoLoad : true,
						url : basePath + 'JarpListener?className=cn.com.jsepc.rep.process.GetCombox&methodName=getLifecycle&paramCount=0',
						reader : jReader1

					});

			var comb_lifecycle = new Ext.form.ComboBox( {
				id : 'lifecycleID',
				fieldLabel : "所 属 流 程 ",
				anchor : "88%",
				emptyText : '请选择(必选项)',
				blankText : '此项必选',
				editable : false,
				triggerAction : 'all',
				store : store,
				mode : 'remote',
				valueField : 'id',
				displayField : 'text'
			})

			var p_manage = new Ext.FormPanel( {
				labelWidth : 100,
				labelAlign : "left",
				layout : "form",
				region : "center",
				frame : true,
				items : [ {
					title : '编辑环节',
					layout : 'form',
					xtype : 'fieldset',
					bodyStyle : 'padding: 10px 0 10px 0',
					collapsible : false,
					labelAlign : 'right',
					height : '100%',
					width : '100%',
					items : [ {
						xtype : "hidden",
						fieldLabel : "节 点 编 号 ",
						emptyText : '自动生成',
						disabled : true,
						id : 'linkid',
						anchor : "88%"
					}, {
						xtype : "textfield",
						fieldLabel : "节 点 编 码 ",
						allowBlank : false,
						id : 'linkcode',
						anchor : "88%",
						emptyText : '字母或下划线开头',
						regex : /^[A-Za-z_]+[A-Za-z0-9_]*$/
					}, {
						xtype : "textfield",
						fieldLabel : "节 点 名 称 ",
						emptyText : '请填写',
						blankText : '此项必填',
						allowBlank : false,
						anchor : "88%",
						id : 'linkname'
					}, {
						xtype : "textfield",
						fieldLabel : "节 点 描 述 ",
						anchor : "88%",
						id : 'linkDesc'
					}, {
						xtype : "hidden",
						fieldLabel : "所属 流 程周期 ",
						anchor : "88%",
						id : 'lifecycleID_hidden'
					}, [ comb_lifecycle ] ]
				} ]
			})
			win_edit = new Ext.Window( {
				layout : 'fit',
				width : 400,
				height : 250,
				closeAction : 'close',
				plain : true,
				modal : true,
				layout : "border",
				tbar : [ '-', {
					text : "保存",
					handler : function() {
						upForm_link();
					}
				}, '-', {
					text : "关闭",
					handler : function() {
						win_edit.close();
					}
				}, {
					xtype : 'hidden',
					id : 'getwin'
				}, {
					xtype : 'hidden',
					id : 'first'
				}, '-' ],
				items : [ p_manage ]
			})
			win_edit.show(this);

			// //把选中的数据加载到窗体相对应的表单中
			Ext.ComponentMgr.get("linkid").setValue(re.data.pID);
			Ext.ComponentMgr.get("linkcode").setValue(re.data.pcode);
			Ext.ComponentMgr.get("linkname").setValue(re.data.pname);
			Ext.ComponentMgr.get("linkDesc").setValue(re.data.pdesc);
			Ext.ComponentMgr.get("lifecycleID").setValue(re.data.pname_link);
			Ext.ComponentMgr.get("lifecycleID_hidden").setValue(re.data.plink);
			Ext.ComponentMgr.get("first").setValue(re.data.plink);
		}

	} else if (deep == "4" || deep == "5") {
		deep_4();
	}
	function deep_4() {
		re = Ext.ComponentMgr.get("grid_process_domain").getSelectionModel()
				.getSelected();
		if (re == null) {
			Ext.Msg.alert('提示', '请选择需要编辑的项！');
		} else {
			// 关注点
			var jReader1 = new Ext.data.JsonReader( {
				fields : [ {
					name : 'id'
				}, {
					name : 'text'
				} ]
			});
			var store = new Ext.data.Store(
					{
						autoLoad : true,
						url : basePath + 'JarpListener?className=cn.com.jsepc.rep.process.GetCombox&methodName=getLink&paramCount=0',
						reader : jReader1

					});
			var comb_link = new Ext.form.ComboBox( {
				id : 'linkID',
				fieldLabel : "所 属 环 节 ",
				anchor : "88%",
				emptyText : '请选择(必选项)',
				blankText : '此项必选',
				editable : false,
				triggerAction : 'all',
				store : store,
				mode : 'remote',
				valueField : 'id',
				displayField : 'text'
			})
			var p_manage = new Ext.FormPanel( {
				labelWidth : 100,
				labelAlign : "left",
				layout : "form",
				region : "center",
				frame : true,
				items : [ {
					title : '编辑关注点',
					layout : 'form',
					xtype : 'fieldset',
					bodyStyle : 'padding: 10px 0 10px 0',
					collapsible : false,
					labelAlign : 'left',
					height : '100%',
					width : '100%',
					items : [ {
						xtype : "hidden",
						fieldLabel : "关 注 点 编 号 ",
						emptyText : '自动生成',
						disabled : true,
						id : 'pointID',
						anchor : "88%"
					}, {
						xtype : "textfield",
						fieldLabel : "关 注 点 编 码 ",
						allowBlank : false,
						id : 'pointCode',
						anchor : "88%",
						emptyText : '字母或下划线开头',
						regex : /^[A-Za-z_]+[A-Za-z0-9_]*$/
					}, {
						xtype : "textfield",
						fieldLabel : "关 注 点 名 称 ",
						emptyText : '请填写',
						blankText : '此项必填',
						allowBlank : false,
						anchor : "88%",
						id : 'pointName'
					}, {
						xtype : "textfield",
						fieldLabel : "关 注 点 描 述 ",
						emptyText : '请填写',
						blankText : '此项选填',
						allowBlank : true,
						anchor : "88%",
						id : 'pointDesc'
					}, {
						xtype : "hidden",
						fieldLabel : "所 属 环 节 ",
						emptyText : '请填写',
						blankText : '此项选填',
						allowBlank : true,
						anchor : "88%",
						id : 'linkID_hidden'
					}, [ comb_link ] ]
				} ]
			})
			win_edit = new Ext.Window( {
				layout : 'fit',
				width : 400,
				height : 250,
				closeAction : 'close',
				plain : true,
				modal : true,
				layout : "border",
				tbar : [ '-', {
					text : "保存",
					handler : function() {
						upForm_point();
					}
				}, '-', {
					text : "关闭",
					handler : function() {
						win_edit.close();
					}
				}, {
					xtype : 'hidden',
					id : 'getwin'
				}, {
					xtype : 'hidden',
					id : 'first'
				}, '-' ],
				items : [ p_manage ]
			})
			win_edit.show(this);

			// //把选中的数据加载到窗体相对应的表单中
			Ext.ComponentMgr.get("pointID").setValue(re.data.pID);
			Ext.ComponentMgr.get("pointCode").setValue(re.data.pcode);
			Ext.ComponentMgr.get("pointName").setValue(re.data.pname);
			Ext.ComponentMgr.get("pointDesc").setValue(re.data.pdesc);
			Ext.ComponentMgr.get("linkID").setValue(re.data.pname_link);
			Ext.ComponentMgr.get("linkID_hidden").setValue(re.data.plink);
			Ext.ComponentMgr.get("first").setValue(re.data.plink);
		}
	}

	function uoForm_process_domain() {
		formStore.p_id = Ext.ComponentMgr.get("domainID").getValue();
		formStore.Code = Ext.ComponentMgr.get("domainCode").getValue();
		formStore.Name = Ext.ComponentMgr.get("domainName").getValue();
		formStore.Desc = Ext.getCmp("domainDesc").getValue();
		formStore.parentID = 1;
		formStore.Win = "01";
		send_url();
	}

	function upForm_process() {
		var treeid = Ext.ComponentMgr.get("get_tree_id").getValue();
		var treename = Ext.ComponentMgr.get("get_tree_name").getValue();
		formStore.p_id = Ext.ComponentMgr.get("processID").getValue();
		formStore.Code = Ext.ComponentMgr.get("processCode").getValue();
		formStore.Name = Ext.ComponentMgr.get("processName").getValue();
		formStore.Desc = Ext.getCmp("processDesc").getValue();
		var domainID = Ext.ComponentMgr.get("domainID").getValue();
		if (isnumber_all(domainID)) {
			Ext.getCmp("domainID_hidden").setValue(
					Ext.ComponentMgr.get("first").getValue());
		} else {
			Ext.getCmp("domainID_hidden").setValue(domainID);
		}
		formStore.parentID = Ext.getCmp("domainID_hidden").getValue();
		formStore.Win = 1;
		send_url();
	}

	function upForm_process_lifecycle() {
		var treeid = Ext.ComponentMgr.get("get_tree_id").getValue();
		var treename = Ext.ComponentMgr.get("get_tree_name").getValue();
		formStore.p_id = Ext.ComponentMgr.get("lifecycleID").getValue();
		formStore.Code = Ext.ComponentMgr.get("lifecycleCode").getValue();
		formStore.Name = Ext.ComponentMgr.get("lifecycleName").getValue();
		formStore.Desc = Ext.getCmp("lifecycleDesc").getValue();
		var processID = Ext.ComponentMgr.get("processID").getValue();
		if (isnumber_all(processID)) {
			Ext.getCmp("processID_hidden").setValue(
					Ext.ComponentMgr.get("first").getValue());
		} else {
			Ext.getCmp("processID_hidden").setValue(processID);
		}
		formStore.parentID = Ext.getCmp("processID_hidden").getValue();
		formStore.Win = "10";
		send_url();

	}
	function upForm_link() {
		formStore.p_id = Ext.ComponentMgr.get("linkid").getValue();
		formStore.Code = Ext.ComponentMgr.get("linkcode").getValue();
		formStore.Name = Ext.ComponentMgr.get("linkname").getValue();
		formStore.Desc = Ext.getCmp("linkDesc").getValue();
		var lifecycle = Ext.ComponentMgr.get("lifecycleID").getValue();
		if (isnumber_all(lifecycle)) {
			Ext.getCmp("lifecycleID_hidden").setValue(
					Ext.ComponentMgr.get("first").getValue());
		} else {
			Ext.getCmp("lifecycleID_hidden").setValue(lifecycle);
		}
		formStore.parentID = Ext.getCmp("lifecycleID_hidden").getValue();
		formStore.Win = 4;
		send_url();
	}
	function upForm_point() {
		formStore.p_id = Ext.ComponentMgr.get("pointID").getValue();
		formStore.Code = Ext.ComponentMgr.get("pointCode").getValue();
		formStore.Name = Ext.ComponentMgr.get("pointName").getValue();
		formStore.Desc = Ext.getCmp("pointDesc").getValue();
		var link = Ext.getCmp("linkID").getValue();
		if (isnumber_all(link)) {
			Ext.getCmp("linkID_hidden").setValue(
					Ext.ComponentMgr.get("first").getValue());
			// alert(Ext.getCmp("linkID_hidden").getValue());
		} else {
			Ext.getCmp("linkID_hidden").setValue(link);
		}
		formStore.parentID = Ext.getCmp("linkID_hidden").getValue();
		formStore.Win = 5;
		send_url();
	}
	// 判断输入为大写字母和下划线
	function isDigit(s) {
		var patrn = /^[A-Za-z_]+[A-Za-z0-9_]*$/;
		if (patrn.exec(s))
			return false
		return true
	}

	// 判断输入为0-9的正整数
	function isnumber(s) {
		var patrn = /^[0-9]*$/;
		if (patrn.exec(s))
			return false
		return true
	}

	// 判断输入为正整数
	function isnumber_all(s) {
		var patrn = /^[0-9]*[1-9][0-9]*$/;
		if (patrn.exec(s))
			return false
		return true
	}

	function send_url() {
		var saveUrl_manage = "";
		saveUrl_manage = '?className=cn.com.jsepc.rep.process.process_manage';
		saveUrl_manage += '&methodName=edit_manage';
		saveUrl_manage += '&paramCount=0';
		saveUrl_manage = basePath + 'JarpListener' + saveUrl_manage;

		if (formStore.Code == "") {
			Ext.Msg.alert('提示', '编码不能为空！');
		} else if (isDigit(formStore.Code)) {
			Ext.Msg.alert('提示', '编码只能为大写字母、数字和下划线格式，并且只能以字母和下划线开头！');
		} else if ((formStore.Code).length > 20) {
			Ext.Msg.alert('提示', '编码超过限定长度(最大长度为20个字符)！');
		} else if (formStore.Name == "") {
			Ext.Msg.alert('提示', '名称不能为空！');
		} else if ((formStore.Name).length > 32) {
			Ext.Msg.alert('提示', '名称超过限定长度(最大长度为32个字符)！');
		} else if ((formStore.Desc).length > 500) {
			Ext.Msg.alert('提示', '描述不能超过500个汉字');
		} else {
			http_return = getXMLHttpRequest();
			http_return.onreadystatechange = Save_return;
			http_return.open("POST", saveUrl_manage, true);
			http_return.send(Ext.util.JSON.encode(formStore));
		}
	}

	// 返回值 处理
	function Save_return() {
		if (http_return.readyState == 4) {
			if (http_return.status == 200) {
				ret = http_return.responseText;
				if (ret == 'haven') {
					Ext.Msg.alert('提示', '数据库已存在此编码 ，请重新修改');
				} else if (ret == 'haven1') {
					Ext.Msg.alert('提示', '数据库已存在此名称 ，请重新修改');
				} else if (ret == 'ok') {
					Ext.Msg.alert('提示', '修改成功！');
					grid_reroad();
					win_edit.close();
				} else {
					Ext.MessageBox.show( {
						title : '提 示',
						msg : ' 修改失败 ，请重新填写'
					});
					setTimeout("window.location.reload()", 1500);
				}
			}
		}
	}
	// 刷新表格
	function grid_reroad() {
		var tree = Ext.ComponentMgr.get("tree_mangae");
		var grid = Ext.ComponentMgr.get("grid_process_domain");
		grid.store.reload();
		refresh();
	}
	function refresh() {
		var tree = Ext.ComponentMgr.get("tree_mangae");
		var node = tree.getSelectionModel().getSelectedNode();
		if (node == null) {
			tree.root.reload();
		} else {
			var nodeid = Ext.ComponentMgr.get("get_tree_id").getValue();
			var path = node.getPath('id');
			tree.root.reload();
			tree.selectPath(path, "id");
		}
	}
}